Emoji reactions for file content and associated activities

ABSTRACT

Aspects of the present disclosure relate to systems and methods for extending emoji reactions into file specific content. In one aspect, a file created with an application may be rendered on a user interface. One or more activities associated with the file created with the application may be obtained. In one example, the one or more activities include corresponding activity metadata. A file activity feed including the one or more activities associated with the file may be rendered within the file. The one or more activities may include at least an emoji icon displayed within at least one of the one or more activities.

BACKGROUND

Current applications for processing information such as word processingapplications, spreadsheet applications, and electronic slidepresentation applications, may facilitate co-authoring and collaboratingamong users of the applications. In this regard, users may make changesto content within files created with the applications such that eachco-author is informed of the changes. Additionally, users may comment onthe content within the files of the applications such that eachco-author can view the comments. Current techniques for communicatingwithin these files include replying with a threaded comment. Thistechnique for communicating within these files may be cumbersome anddistracting. Furthermore, there is currently no way to express emotionwhile working and communicating within files of information processingapplications. In turn, current techniques for communicating within filesof information processing applications are inefficient and inadequate.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

In summary, the disclosure generally relates to systems and methods forextending emoji reactions into file specific content. In one aspect, afile created with an application may be rendered on a user interface.One or more activities associated with the file may be obtained. In oneexample, the one or more activities include corresponding activitymetadata. A file activity feed including the one or more activitiesassociated with the file may be rendered within the file. The one ormore activities may include at least an emoji icon displayed within atleast one of the one or more activities.

In another aspect, one or more emoji within a file created with anapplication may be suggested. In one case, the file may be rendered on auser interface. One or more activities associated with the file may beobtained. The one or more activities may include corresponding activitymetadata. A file activity feed including the one or more activitiesassociated with the file may be rendered within the file. It may bedetermined whether to suggest one or more emoji based on at least one ofthe activity metadata, a type of content within the file, and anexisting emoji in a reaction stack. In response to determining tosuggest one or more emoji based on at least one of the activitymetadata, the type of content within the file, and the existing emoji ina reaction stack, a navigable menu including at least the suggestedemoji may be displayed.

DESCRIPTION OF THE DRAWINGS

The detailed description is made with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different instances in thedescription and the figures may indicate similar or identical items.

FIG. 1 illustrates an exemplary emoji system for extending emojireactions into file specific content, according to an example aspect.

FIG. 2A illustrates one view in a progression of views an electronicslide application displayed on a user interface of a client computingdevice, according to an example aspect.

FIG. 2B illustrates another view in a progression of views of theelectronic slide application of FIG. 2A, according to an example aspect.

FIG. 2C illustrates another view in the progression of views of theelectronic slide application of FIG. 2A, according to an example aspect.

FIG. 2D illustrates another view in the progression of views of theelectronic slide application of FIG. 2A, according to an example aspect.

FIG. 3 illustrates an exemplary method for extending emoji reactionsinto file specific content, according to an example aspect.

FIG. 4 illustrates an exemplary method for suggesting one or more emojiwithin a file created with an application, according to an exampleaspect.

FIG. 5 illustrates a computing system suitable for implementing theenhanced emoji technology disclosed herein, including any of theenvironments, architectures, elements, processes, user interfaces, andoperational scenarios and sequences illustrated in the Figures anddiscussed below in the Technical Disclosure.

DETAILED DESCRIPTION

Aspects of the disclosure are generally directed to extending emojireactions into file specific content. For example, an emoji icon and anassociated navigable menu including a plurality of emoji may be includedin files created with information processing applications such as wordprocessing applications, spreadsheet applications, and electronic slideapplications. In this regard, users and/or or co-authors of the filescreated with the information processing applications may present in-linereactions to file activities using one or more emoji. The fileactivities may include activities related to the file and/or activitiesthat surround the file. In some examples, the activities related to thefile may include activities such as content changes in the file (e.g.,edits and deletions), sharing the file, renaming the file, commentswithin the file, messaging, and the like. In some examples, theactivities that surround the file may include activities such asconversations around the document (e.g., email communications and/ormessaging communication that discuss and/or reference the file), and thelike.

In one aspect, one or more activities associated with a file createdwith an application may be obtained. The one or more activities mayinclude corresponding activity metadata. A file activity feed includingthe one or more activities may be rendered within the file. The one ormore activities may include at least an emoji icon displayed within theone or more activities. In some cases, the one or more activities mayinclude corresponding activity metadata and at least an emoji icondisplayed within at least one of the one or more activities. A navigablemenu including a plurality of emoji may be displayed in response toreceiving a selection of the emoji icon. In response to receiving aselection of at least one of the emoji of the plurality of emoji, the atleast one selected emoji may be displayed within the one or moreactivities. As such, users and/or co-authors of the file may presentin-line reactions to file activities using one or more emoji. In turn,users and/or co-authors may express emotion and/or feeling whilecollaborating on files created with information processing applications.

As discussed above, current techniques for communicating within filescreated with information processing applications include commenting onthe content within the files such that each co-author can view thecomments and replying to comments with a threaded comment. Replying tocomments within a threaded comment may be cumbersome and distracting.Furthermore, there is currently no way to express emotion while workingand communicating within files of information processing applications.In turn, current techniques for communicating within files ofinformation processing applications are inefficient and inadequate.Accordingly, aspects described herein include extending emoji reactionsinto file specific content. In one example, a co-author may leave acomment regarding whether to delete content within a file. Instead ofusers/co-authors of the file replying to the comment with yes or no, theusers/co-authors may use a voting emoji showing a thumbs up or thumbsdown to vote on whether to delete the content within the file. Thevoting emoji may be displayed within the comment as a thumbs up and/orthumbs down to indicate who agrees and/or disagrees with deletingcontent within the file. In this regard, users/co-authors may showagreement and/or disagreement relative to content within the file in aclear, concise, and efficient manner. As such, a technical effect thatmay be appreciated is that extending emoji reactions into file specificcontent may facilitate presenting in-line reactions to one or moreactivities associated with a file in a clear and understandable mannerand on a functional surface. In turn, collaboration on documents may beaccomplished in a faster and/or more efficient manner, ultimatelyreducing processor load, conserving memory, and reducing networkbandwidth usage.

In another aspect, it may be determined whether to suggest one or moreemoji based on at least one of activity metadata, a type of contentwithin the file, and an existing emoji in a reaction stack. For example,in response to receiving a selection of an emoji icon displayed withinone or more activities in a file activity feed, one or more suggestedemoji may be presented in a selected (e.g., top) portion of a navigablemenu including a plurality of emoji. In this regard, a user/co-authormay clearly identify and select an emoji related to file specificcontent from the navigable menu for presenting a reaction to and/orexpressing emotion to one or more activities (e.g., file specificcontent) associated with a file. As such, another technical effect thatmay be appreciated is that suggesting one or more emoji facilitates acompelling visual and functional experience to allow a user toefficiently interact with a user interface for presenting in-linereactions and expressing emotions to one or more activities associatedwith the file.

Referring now to the drawings, in which like numerals represent likeelements through the several figures, aspects of the present disclosureand the exemplary operating environment will be described. Withreference to FIG. 1, one aspect of an emoji system 100 for extendingemoji reactions into file specific content is illustrated. The emojisystem 100 may include a client computing device 104, a server computingdevice 106, and an activity service 108. In aspects, the emoji system100 may be implemented on the client computing device 104. In a basicconfiguration, the client computing device 104 is a handheld computerhaving both input elements and output elements. The client computingdevice 104 may be any suitable computing device for implementing theemoji system 100 for extending emoji reactions into file specificcontent. For example, the client computing device 104 may be at leastone of: a mobile telephone; a smart phone; a tablet; a phablet; a smartwatch; a wearable computer; a personal computer; a desktop computer; alaptop computer; a gaming device/computer (e.g., Xbox); a television;and etc. This list is exemplary only and should not be considered aslimiting. Any suitable client computing device 104 for implementing theemoji system 100 for extending emoji reactions into file specificcontent may be utilized.

In aspects, the emoji system 100 may be implemented on the servercomputing device 106. The server computing device 106 may provide datato and from the client computing device 104 through a network 105. Inaspects, the emoji system 100 may be implemented on more than one servercomputing device 106, such as a plurality of server computing devices106. As discussed above, the server computing device 106 may providedata to and from the client computing device 104 through the network105. The data may be communicated over any network suitable to transmitdata. In some aspects, the network is a distributed computer networksuch as the Internet. In this regard, the network may include a LocalArea Network (LAN), a Wide Area Network (WAN), the Internet, wirelessand wired transmission mediums. In this regard, emoji reactions may beextended into file specific content of one or more informationprocessing applications.

The aspects and functionalities described herein may operate via amultitude of computing systems including, without limitation, desktopcomputer systems, wired and wireless computing systems, mobile computingsystems (e.g., mobile telephones, netbooks, tablet or slate typecomputers, notebook computers, and laptop computers), hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, and mainframe computers.

In addition, the aspects and functionalities described herein mayoperate over distributed systems (e.g., cloud-based computing systems),where application functionality, memory, data storage and retrieval, andvarious processing functions may be operated remotely from each otherover a distributed computing network, such as the Internet or anIntranet. User interfaces and information of various types may bedisplayed via on-board computing device displays or via remote displayunits associated with one or more computing devices. For example, userinterfaces and information of various types may be displayed andinteracted with on a wall surface onto which user interfaces andinformation of various types are projected. Interaction with themultitude of computing systems with which aspects of the invention maybe practiced include, keystroke entry, touch screen entry, voice orother audio entry, gesture entry where an associated computing device isequipped with detection (e.g., camera) functionality for capturing andinterpreting user gestures for controlling the functionality of thecomputing device, and the like.

As discussed above, the emoji system 100 may include the clientcomputing device 104, the server computing device 106, and the activityservice 108. The various components may be implemented using hardware,software, or a combination of hardware and software. In aspects, theclient computing device 104 may include a user interface component 110.The user interface component 110 may be configured to display an emojiicon within one or more activities associated with a file. In responseto receiving a selection of the emoji icon, the user interface component110 may display a navigable menu including a plurality of emoji forpresenting in-line reactions to the one or more activities using theplurality of emoji. For example, the user interface component 110 mayinitiate rendering of a file created with an application on a userinterface of the client computing device 104. In one example, anapplication may include any application suitable for collaborationand/or co-authoring such as a word processing application, spreadsheetapplication, electronic slide presentation application, emailapplication, chat application, voice application, and the like. In onecase, a file associated with and/or created with the application mayinclude a word document, a spreadsheet, an electronic slidepresentation, an email, a chat conversation, and the like. As such, anexemplary application may be an electronic slide presentationapplication. In this example, an exemplary file associated with theelectronic slide presentation application may include an electronicslide presentation. In one example, an information processingapplication may include a word processing application, a spreadsheetapplication, and an electronic slide presentation.

In another example, the user interface component 110 and/or the filerendered on the user interface may obtain one or more activitiesassociated with the file created with the application. In one example,the one or more of activities may include both client side activitiesand server side activities. For example, the one or more activities mayinclude activities associated with the client computing device 104 andactivities associated with the server computing device 106. In oneexample, the plurality of activities may include content changes,communication activities, document content exchanges, permissionrequests, sharing, printing, and the like. In aspects, the servercomputing device 106 is unaware of the plurality of activitiesassociated with the client computing device 104 and the client computingdevice 104 is unaware of the plurality of activities associated with theserver computing device 106. In one example, the plurality of activitiesassociated with the client computing device 104 may include messages,communication activities such as Instant Messaging and/or voicecommunications, comments, email activities, presentation of the file,printing the file, co-authoring the file, and the like. In one case,email activities may include sending an email, printing an email, andthe like. In one example, the one or more activities associated with theserver computing device 106 may receiving a shared file, renaming afile, sharing a file, editing a file, restoring a file, and the like.

In aspects, the one or more activities may include correspondingactivity metadata. In one case, the activity metadata may include atleast an identifier, a timestamp, a type of activity, a location, and alink. In one case, the identifier may be an identifier of a user and/orco-author of the file. In one example, the identifier may indicate theuser and/or co-author who performed an activity. In another example, theidentifier may indicate a recipient of an activity. In one example, thetimestamp may indicate a time at which the activity was performed. Inanother example, the timestamp may indicate an amount of time that haspassed since an activity was performed. The type of activity mayindicate the type of activity that occurred relative to the file such asany of the activities described herein. In one example, the location mayindicate where the activity is located within a file and/or relative toa file. In one case, the link may provide access to the file associatedwith the activity. For example, if the activity is an email activity anduser/co-author is in an email application, upon receiving a selection ofthe link, the user/co-author may access the file associated with theemail activity.

In aspects, the user interface component 110 may render, within thefile, a file activity feed including the one or more activitiesassociated with the file. In one example, the one or more activitiesinclude at least an emoji icon displayed within at least one of the oneor more activities. The emoji icon may be any icon suitable forproviding a navigable menu including a plurality of emoji uponselection. For example, in response to receiving a selection of theemoji icon, a navigable menu including a plurality of emoji may bedisplayed within the file. In one example, the emoji icon may be asmiley face. In one example, the plurality of emoji may include a set ofstandard emoji. In one case, the set of standard emoji are part of aUnicode standard as known by those skilled in the art. In one case, whenthe navigable menu is displayed, one or more emoji may be suggestedbased on a type of activity. As discussed above, the type of activitymay include various activities such as content changes, comments,emails, renaming a file, printing a file, etc. In this regard, one ormore emoji associated with the type of activity may be suggested in aselected and/or preferred (e.g., top) portion of the navigable menu. Inanother example, one or more emoji most often used with the type ofactivity may be suggested in the selected and/or preferred portion ofthe navigable menu. In another case, when the navigable menu isdisplayed, one or more emoji may be suggested based on a type of contentwithin the file. In one example, one or more emoji associated with thetype of content within the file may be suggested in the selected and/orpreferred portion of the navigable menu. For example, if the type ofcontent within the file is business related content, one or morebusiness related emoji may be suggested. In another example, one or moreemoji most often used with the type of content within the file may besuggested in a top portion of the navigable menu. In another case, whenthe navigable menu is displayed, one or more emoji may be suggestedbased on an existing emoji in a reaction stack. For example, if a firstco-author has selected a smiley face emoji for presenting an in-linereaction to an activity, a smiley face may be suggested in the selectedand/or preferred portion of the navigable menu when a second co-authorselects the emoji icon displayed within the same activity.

In one example, the user interface component 110 may be a touchable userinterface that is capable of receiving input via contact with a screenof the client computing device 104, thereby functioning as both an inputdevice and an output device. For example, content may be displayed, oroutput, on the screen of the client computing device 104 and input maybe received by contacting the screen using a stylus or by directphysical contact of a user, e.g., touching the screen. Contact mayinclude, for instance, tapping the screen, using gestures such asswiping or pinching the screen, sketching on the screen, etc.

In another example, the user interface component 110 may be a non-touchuser interface. In one case, a tablet device, for example, may beutilized as a non-touch device when it is docked at a docking station(e.g., the tablet device may include a non-touch user interface). Inanother case, a desktop computer may include a non-touch user interface.In this example, the non-touchable user interface may be capable ofreceiving input via contact with a screen of the client computing device104, thereby functioning as both an input device and an output device.For example, content may be displayed, or output, on the screen of theclient computing device 104 and input may be received by contacting thescreen using a cursor, for example. In this regard, contact may include,for example, placing a cursor on the non-touchable user interface usinga device such as a mouse.

In some aspects, the client computing device 104 and/or the userinterface component 110 may obtain the one or more activities from oneor more sources. For example, the client computing device 104 and/or theuser interface component 110 may obtain the one or more activities fromthe server computing device 106. The server computing device 106 mayinclude a storage platform 130 and the data store 140. In this regard,the client computing device 104 and/or the user interface component 110may obtain the one or more activities from at least the storage platform130 and the data store 140. In one example, the storage platform 130 maybe configured to store, manage, and access data and/or informationassociated with the emoji system 100. For example, the storage platform130 may store one or more files and/or one or more activities associatedwith a file in a data store 140. In another example, the data store 140may include attribution information. In one case, attributioninformation may include information regarding the user/author performingan activity and/or a recipient of the plurality of activities. In oneexample, data store 140 may be part of and/or located at the storageplatform 130. In another example, data store 140 may be a separatecomponent and/or may be located separate from the storage platform 130.It is appreciated that although one server computing device 106 isillustrated in FIG. 1, the emoji system 100 may include a plurality ofserver computing devices 106 with a plurality of storage platforms 130and a plurality of data stores 140. In some cases, the server computingdevice 106 may include a plurality of storage platforms 130 and aplurality of data stores 140. For example, the plurality of storageplatforms 130 may include at least file storage providers, externalactivity services and document editing clients. In one example, thestorage platform 130 may be a cloud storage service such as OneDrive,SharePoint, Google Drive, Dropbox, and the like.

In another case, the client computing device 104 and/or the userinterface component 110 may obtain the one or more activities from theactivity service 108. The activity service 108 may be configured toreceive, store, create, generate, update, manage, and access one or moreactivities and/or information associated with the emoji system 100. Forexample, the activity service 108 may receive, store, create, generate,update, and manage one or more activities associated with a file and/oractivity metadata corresponding to the one or more activities associatedwith the file. In another example, the activity service 108 may provideaccess to the one or more activities associated with a file and/oractivity metadata corresponding to the one or more activities associatedwith the file. In one case, the client computing device 104, the servercomputing device 106, and/or an application associated with the clientcomputing device 104 and/or the server computing device 106 may accessthe activity service 108.

In aspects, the storage platform 130 may communicate with the clientcomputing device 104 and/or the activity service 108. In this regard,the storage platform 130 may retrieve and/or obtain one or moreactivities associated with one or more files from the activity service108. In one case, the storage platform 130 may retrieve and/or obtainactivity metadata corresponding to the one or more activities from theactivity service 108. In another case, the storage platform 130 may sendactivity metadata corresponding to one or more activities associatedwith one or more files to the activity service 108 for storage.

Referring now to FIG. 2A, one view 200A in a progression of views of anelectronic slide application displayed on a user interface of the clientcomputing device 104, such as a desktop computer, tablet computer or amobile phone, for example, is shown. The exemplary application, as shownin FIG. 2A, is an electronic slide application. In one example, anapplication may include any information processing application suitablefor collaboration and/or co-authoring such as a word processingapplication, spreadsheet application, and electronic slide presentationapplication. In one case, a file associated with the application mayinclude a word document, a spreadsheet, and/or an electronic slidepresentation. As such, an exemplary application may be an electronicslide presentation application, as illustrated in FIG. 2A. In thisexample, an exemplary file associated with the electronic slidepresentation application may include an electronic slide presentation.As such, an exemplary file activity feed (e.g., the file activity feedassociated with the electronic slide presentation) may include one ormore activities associated with the electronic slide presentation.

As illustrated, the exemplary view 200A of the electronic slidepresentation application displayed on the client computing device 104includes a file 204, a file activity feed 206, a plurality of activities208A-208D, and a file activity icon 250. The activities 208A-208D areexemplary activities of the file activity feed 206. It is appreciatedthat while FIG. 2A illustrates activities 208A-208D of the file activityfeed 206, the discussion of activities 208A-208D and the file activityfeed 206 is exemplary only and should not be considered as limiting. Anysuitable number and/or type of activities of the file activity feed 206may be displayed on the client computing device 104. Furthermore, whilethe present disclosure discusses the electronic slide presentationapplication, file 204, and file activity feed 206, this is onlyexemplary and should not be considered limiting. Any number ofapplications, files, and/or file activity feeds may be utilized inconjunction with the present disclosure.

As illustrated in FIG. 2A, the file activity feed 206 includes aplurality of activities 208A-208D associated with the file 204. In oneexample, the file activity feed 206 is rendered and displayed next to acanvas of the file 204. In one case, the file activity feed 206 isrendered within the file 204 in response to receiving a selection of thefile activity icon 250. Activities 208A and 208B are activities of thetype “comments,” activity 208C is an activity of the type “addingcontent,” and activity 208D is an activity of the type “edit”. Theplurality of activities 208A-208D may include an emoji icon 210. Forexample, the emoji icon 210 may be displayed within one or more of theplurality of activities 208A-208D. In this regard, a user/co-author maypresent an in-line reaction and/or express emotion for one or moreactivities associated with the file 204. In the example illustrated inFIG. 2A, the emoji icon 210 is a smiley face. It is appreciated that theemoji icon 210 may be any icon suitable for providing a navigable menuincluding a plurality of emoji upon selection. For example, in responseto receiving a selection of the emoji icon 210, a navigable menuincluding a plurality of emoji may be displayed within the file 204,which will be described in detail below relative to FIGS. 2B-2D.

In aspects, at least one of the plurality of emoji includes a votingemoji for voting on the one or more activities 208A-208D associated withthe file 204. For example, activity 208B includes both the emoji icon210 and a voting emoji 212. In the example illustrated in FIG. 2A, thevoting emoji 212 includes a thumbs up emoji. The thumbs up emoji mayindicate that a user/co-author agrees (e.g., votes yes) with the contentassociated with the activity. For example, activity 208B is a commentasking whether headings should be updated. The voting emoji 212 may beused to show agreement and/or disagreement with updating the headings.In the example illustrated in FIG. 2A, the voting emoji 212 includes athumbs up emoji including the number 1 to indicate a number ofusers/co-authors who agree with the comment. In this example, oneuser/co-author agrees with the comment.

Referring now to FIG. 2B, another view 200B in a progression of views ofthe electronic slide presentation application displayed on a userinterface of the client computing device 104, such as a desktopcomputer, tablet computer or a mobile phone, for example, is shown. Asillustrated, the exemplary view 200B of the electronic slidepresentation application displayed on the client computing device 104includes the file 204, the file activity feed 206, the plurality ofactivities 208A-208D, and the file activity icon 250. The plurality ofactivities 208A-208D described relative to FIG. 2B include the sameand/or similar functionality as the plurality of activities 208A-208Ddescribed above relative to FIG. 2A. For example, one or more of theplurality of activities 208A-208D may include the emoji icon 210displayed therein. In another example, the activity 208B may include theemoji icon 210 and the voting emoji 212 displayed therein.

As shown in FIG. 2B, the emoji icon 210 displayed within activity 208Bis selected. As such, in response to receiving a selection of the emojiicon 210, a navigable menu 220 including a plurality of emoji 230 may bedisplayed. The navigable menu 220 including the plurality of emoji 230may be rendered and/or displayed on the user interface. In someexamples, navigable menu 220 including the plurality of emoji 230 may berendered and/or displayed within the file 204. In other examples,navigable menu 220 including the plurality of emoji 230 may be renderedand/or displayed within the file 204 next to the file contents withinthe canvas. In one case, the navigable menu 220 including the pluralityof emoji 230 may be rendered and/or displayed over the file activityfeed 206. As discussed above, in one example, the navigable menu 220 mayinclude suggested emoji. In another example, the navigable menu 220 mayinclude a set of standard emoji.

In the example illustrated in FIG. 2B, the navigable menu 220 includes afirst suggested emoji 232 and a second suggested emoji 234. In oneexample, the first suggested emoji 232 and the second suggested emoji234 are presented in a selected and/or preferred portion (e.g., the topor first row) of the navigable menu 220. As discussed above, displayingthe navigable menu 220 may include suggesting one or more emoji based onan existing emoji a reaction stack. In one case, the existing emoji inthe reaction stack is displayed within at least one of the one or moreactivities (e.g., activities 208A-208D) associated with the file 204. Assuch, the existing emoji in the reaction stack may be an emoji that isalready displayed within at least one of the one or more activities whena user/co-author selects the emoji icon 210. In one example, the votingemoji 212 (e.g., the thumbs up emoji) is an existing emoji in thereaction stack. For example, before receiving a selection of the emojiicon 210 to display the navigable menu 220, the voting emoji 212 isdisplayed within the activity 208B. In this regard, the first suggestedemoji 232 is a thumbs up emoji and the second suggested emoji 234 is athumbs down emoji. As such, the first suggested emoji 232 and the secondsuggested emoji 234 are suggested based on the existing emoji in thereaction stack (e.g., the voting emoji 212). In turn, a user/co-authormay quickly and easily identify voting emoji in the navigable menu 220for voting on the comment activity 208B (e.g., since one user/co-authorhas already voted on the comment activity 208B).

Referring now to FIG. 2C, another view 200C in a progression of views ofthe electronic slide presentation application displayed on a userinterface of the client computing device 104, such as a desktopcomputer, tablet computer or a mobile phone, for example, is shown. Asillustrated, the exemplary view 200C of the electronic slidepresentation application displayed on the client computing device 104includes the file 204, the file activity feed 206, the plurality ofactivities 208A-208D, and the file activity icon 250. The plurality ofactivities 208A-208D described relative to FIG. 2C include the sameand/or similar functionality as the plurality of activities 208A-208Ddescribed above relative to FIGS. 2A-2B. For example, one or more of theplurality of activities 208A-208D may include the emoji icon 210displayed therein. In another example, the activity 208B may include theemoji icon 210 and the voting emoji 212 displayed therein.

As shown in FIG. 2C, the emoji icon 210 displayed within activity 208Dis selected. As such, in response to receiving a selection of the emojiicon 210, the navigable menu 220 including a plurality of emoji 230 maybe displayed. The navigable menu 220 including the plurality of emoji230 may be rendered and/or displayed on the user interface. In someexamples, navigable menu 220 including the plurality of emoji 230 may berendered and/or displayed within the file 204. In other examples,navigable menu 220 including the plurality of emoji 230 may be renderedand/or displayed within the file 204 next to the file contents withinthe canvas. In one case, the navigable menu 220 including the pluralityof emoji 230 may be rendered and/or displayed over the file activityfeed 206.

As discussed above, in one example, the navigable menu 220 may includesuggested emoji. In the example illustrated in FIG. 2C, the navigablemenu 220 includes a first suggested emoji 232, a second suggested emoji234, a third suggested emoji 236, a fourth suggested emoji 238, a fifthsuggested emoji 240, and a sixth suggested emoji 242. In one example,the first suggested emoji 232, the second suggested emoji 234, the thirdsuggested emoji 236, the fourth suggested emoji 238, the fifth suggestedemoji 240, and the sixth suggested emoji 242 are presented in a selectedand/or preferred portion (e.g., the top or first row) of the navigablemenu 220. As discussed above, displaying the navigable menu 220 mayinclude suggesting one or more emoji based on activity metadata. In oneexample, as illustrated in FIG. 2C, displaying the navigable menu 220may include suggesting one or more emoji based on a type of activity.Activity 208D is an activity of type “edit.” In this regard, content ofthe file 204 may have been changed. In one example, in response toreceiving a selection of the activity 208D, the edited content may bedisplayed within the file 204 such that a user/co-author may view theedited content and corresponding metadata. In another example, inresponse to receiving a selection of the activity 208D, the activity208D may be expanded to show and/or display the edited content. In thisregard, a user/co-author may present an in-inline reaction (e.g.,present a reaction within the activity 208D) to the edits made to slideone.

In the example illustrated in FIG. 2C, the first suggested emoji 232 isa happy face, the second suggested emoji 234 is a sad face, the thirdsuggested emoji 236 is a heart, the fourth suggested emoji 238 is athumbs up, the fifth suggested emoji 240 is a thumbs down, and the sixthsuggested emoji 242 is an A-Okay. In this regard, a user/co-author mayexpress whether she is happy or unhappy with the edits, whether sheagrees or disagrees with the edits, whether she loves the edits and/orwhether she is okay with the edits. As such, the first suggested emoji232, the second suggested emoji 234, the third suggested emoji 236, thefourth suggested emoji 238, the fifth suggested emoji 240, and the sixthsuggested emoji 242 are suggested based on the type of activity (e.g.,an edit). In turn, a user/co-author may quickly and easily identifyemoji in the navigable menu 220 for expressing emotion and/or presentingan in-line reaction relative to the edits made to slide one.

Referring now to FIG. 2D, another view 200D in a progression of views ofthe electronic slide presentation application displayed on a userinterface of the client computing device 104, such as a desktopcomputer, tablet computer or a mobile phone, for example, is shown. Asillustrated, the exemplary view 200D of the electronic slidepresentation application displayed on the client computing device 104includes the file 204, the file activity feed 206, the plurality ofactivities 208A-208D, and the file activity icon 250. The plurality ofactivities 208A-208D described relative to FIG. 2D include the sameand/or similar functionality as the plurality of activities 208A-208Ddescribed above relative to FIGS. 2A-2C. For example, one or more of theplurality of activities 208A-208D may include the emoji icon 210displayed therein. In another example, the activity 208B may include theemoji icon 210 and the voting emoji 212 displayed therein.

As shown in FIG. 2D, the emoji icon 210 displayed within activity 208Cis selected. As such, in response to receiving a selection of the emojiicon 210, the navigable menu 220 including a plurality of emoji 230 maybe displayed. The navigable menu 220 including the plurality of emoji230 may be rendered and/or displayed on the user interface. In someexamples, navigable menu 220 including the plurality of emoji 230 may berendered and/or displayed within the file 204. In other examples,navigable menu 220 including the plurality of emoji 230 may be renderedand/or displayed within the file 204 next to the file contents withinthe canvas. In one case, the navigable menu 220 including the pluralityof emoji 230 may be rendered and/or displayed over the file activityfeed 206.

As discussed above, in one example, the navigable menu 220 may includesuggested emoji. In the example illustrated in FIG. 2D, the navigablemenu 220 includes a first suggested emoji 232, a second suggested emoji234, a third suggested emoji 236, a fourth suggested emoji 238, and afifth suggested emoji 240. In one example, the first suggested emoji232, the second suggested emoji 234, the third suggested emoji 236, thefourth suggested emoji 238, and the fifth suggested emoji 240 arepresented in a selected and/or preferred portion (e.g., the top or firstrow) of the navigable menu 220. As discussed above, displaying thenavigable menu 220 may include suggesting one or more emoji based on atype of content within the file 204. Activity 208C is an activity oftype “added content.” In this regard, content of the file 204 may havebeen added. In one example, in response to receiving a selection of theactivity 208C, the added content may be displayed within the file 204such that a user/co-author may view the added content and correspondingmetadata. In another example, in response to receiving a selection ofthe activity 208C, the activity 208C may be expanded to show and/ordisplay the added content. In this regard, a user/co-author may presentan in-inline reaction (e.g., present a reaction within the activity208C) to the added content (e.g., slide two).

In the example illustrated in FIG. 2D, the added content may include aproposed employee sports league on a slide two 260 of the file 204. Forexample, the content in slide two 260 may include sports suggestions forplaying in an engineering sports league. As such, the first suggestedemoji 232 is a soccer ball, the second suggested emoji 234 is afootball, the third suggested emoji 236 is a baseball, the fourthsuggested emoji 238 is a basketball, and the fifth suggested emoji 240is a tennis racquet. In this regard, a user/co-author may express whattype of sports league she would like to play in (e.g., a soccer sportsleague, a football sports league, a baseball sports league, a basketballsports league, or a tennis sports league) using the suggested emoji. Assuch, the first suggested emoji 232, the second suggested emoji 234, thethird suggested emoji 236, the fourth suggested emoji 238, and the fifthsuggested emoji 240 are suggested based on a type of content within thefile 204 (e.g., content including sports league suggestions). Forexample, the emoji system 100 may perform a natural language or otheranalysis to determine that the slide content includes sports language.In other examples, the emoji system 100 may perform a natural languageor other analysis to determine that a comment or other activity includesa question, thereby determining that the voting emoji are suitable forsuggestion. Based on the suggested emoji, a user/co-author may quicklyand easily identify emoji in the navigable menu 220 for expressingemotion and/or presenting an in-line reaction relative to the contentwithin the file 204. In another example, a user/co-author may suggest analternative sports league by selecting an emoji, either from additionalsuggested sports emoji or from a plurality of emoji that are presentedbut not suggested.

As illustrated in FIG. 2D, the second suggested emoji 234 is selected.In this regard, in response to receiving a selection of the secondsuggested emoji 234, the second suggested emoji 234 (e.g., the footballemoji 262) is displayed within the activity 208C. The football emoji 262includes a number 1 to indicate a number of users/co-authors who agreewith the suggested football emoji 262. In this example, oneuser/co-author agrees with the suggested football emoji 262. As such,users and/or co-authors of the file 204 may present in-line reactions tothe plurality of activities 208A-208D using one or more emoji (e.g.,using one of the plurality of emoji 230). In turn, users and/orco-authors may express emotion and/or feeling while collaborating onfiles created with information processing applications.

In other examples, displaying the navigable menu 220 may includesuggesting one or more emoji based on a user/co-author identifier,user/co-author favorite emoji, and/or a history of (e.g., previously)used emoji. In another example, the author of the comment or otheractivity may be permitted to prioritize certain emoji icons forpresentation along with the comment or other activity. It is appreciatedthat while specific examples for suggesting emoji are described herein,the discussion of suggesting emoji is exemplary only and should not beconsidered as limiting. Any number of and/or type of information may beused to suggest emoji in a navigable menu for presenting in-linereactions to one or more activities associated with a file. For example,while an example of activity metadata including a type of activity forsuggesting emoji is described herein, any of the activity metadatadescribed herein may be used for suggesting emoji.

Referring now to FIG. 3, an exemplary method 300 for extending emojireactions into file specific content, according to an example aspect isshown. Method 300 may be implemented on a computing device or a similarelectronic device capable of executing instructions through at least oneprocessor. Emoji reactions may be extended into file specific content ofany suitable software application. For example, the software applicationmay be one of an email application, a social networking application,project management application, a collaboration application, anenterprise management application, a messaging application, a wordprocessing application, a spreadsheet application, a databaseapplication, a presentation application, a contacts application, acalendaring application, etc. This list is exemplary only and should notbe considered as limiting. Any suitable application for extending emojireactions into file specific content may be utilized by method 300,including combinations of the above-listed applications.

Method 300 may begin at operation 302, where rendering of a file createdwith an application on a user interface is initiated. In one example,the file may be rendered on a client computing device. In one example,an application may include any application suitable for collaborationand/or co-authoring such as a word processing application, spreadsheetapplication, electronic slide presentation application, emailapplication, chat application, voice application, and the like. In onecase, a file associated with and/or created with the application mayinclude a word document, a spreadsheet, an electronic slidepresentation, an email, a chat conversation, and the like. In oneexample, an information processing application may include a wordprocessing application, a spreadsheet application, and an electronicslide presentation.

When the file created with an application is rendered on a userinterface, flow proceeds to operation 304 where one or more activitiesassociated with the file are obtained. In one example, the one or moreactivities include corresponding activity metadata. In one case, the oneor more activities associated with the file created with the applicationare obtained in response to receiving a selection of an activity feedicon. In one example, a client computing device and/or a user interfacecomponent may obtain the one or more activities from one or moresources. For example, the client computing device and/or the userinterface component may obtain the one or more activities from a servercomputing device. The server computing device may include a storageplatform and a data store. In one example, the storage platform may beconfigured to store, manage, and access data and/or informationassociated with the emoji system. For example, the storage platform maystore one or more files and/or one or more activities associated with afile in a data store. In another case, the one or more activities may beobtained from an activity service. The activity service may beconfigured to receive, store, create, generate, update, manage, andaccess one or more activities and/or information associated with theemoji system.

When one or more activities associated with the file are obtained, flowproceeds to decision operation 306 where a file activity feed includingthe one or more activities associated with the file is rendered withinthe file. In one example, at least one of the one or more activitiesinclude at least an emoji icon displayed within the one or moreactivities. In response to receiving a selection of the emoji icon, anavigable menu including a plurality of emoji may be displayed. In onecase, displaying the navigable menu comprises suggesting one or moreemoji based on a type of activity. In another case, displaying thenavigable menu comprises suggesting one or more emoji based on a type ofcontent within the file. In yet another case, displaying the navigablemenu comprises suggesting one or more emoji based on an existing emojiin a reaction stack. In one example, displaying the navigable menuincluding at least the suggested emoji comprises presenting thesuggested emoji in a selected and/or preferred (e.g., top) portion ofthe navigable menu. In another example, the file activity feed includingthe one or more activities associated with the file is rendered withinthe file in response to receiving a selection of an activity feed icon.

Referring now to FIG. 4, an exemplary method 400 for suggesting one ormore emoji within a file created with an application, according to anexample aspect is shown. Method 400 may be implemented on a computingdevice or a similar electronic device capable of executing instructionsthrough at least one processor. Method 400 begins at operation 402 wherea file created with an application is rendered on a user interface. Inone example, the file may be rendered on a client computing device. Inone example, an application may include any application suitable forcollaboration and/or co-authoring such as a word processing application,spreadsheet application, electronic slide presentation application,email application, chat application, voice application, and the like. Inone case, a file associated with and/or created with the application mayinclude a word document, a spreadsheet, an electronic slidepresentation, an email, a chat conversation, and the like. In oneexample, an information processing application may include a wordprocessing application, a spreadsheet application, and an electronicslide presentation.

When the file created with an application is rendered on a userinterface, flow proceeds to operation 404 where one or more activitiesassociated with the file are obtained. In one example, the one or moreactivities include corresponding activity metadata. The correspondingactivity metadata may include at least one of an identifier, atimestamp, a type, a location, and a link. In one example, a clientcomputing device and/or a user interface component may obtain the one ormore activities from one or more sources. For example, the clientcomputing device and/or the user interface component may obtain the oneor more activities from a server computing device. The server computingdevice may include a storage platform and a data store. In one example,the storage platform may be configured to store, manage, and access dataand/or information associated with the emoji system. For example, thestorage platform may store one or more files and/or one or moreactivities associated with a file in a data store. In another case, theone or more activities may be obtained from an activity service. Theactivity service may be configured to receive, store, create, generate,update, manage, and access one or more activities and/or informationassociated with the emoji system.

When one or more activities associated with the file created with theapplication are obtained, flow proceeds to decision operation 406 wherea file activity feed including the one or more activities associatedwith the file is rendered within the file. In one case, the fileactivity feed is rendered next to a canvas of the file. In another case,the file activity feed is rendered within the file. In one example, theone or more activities include at least an emoji icon displayed withinat least one of the one or more activities. In response to receiving aselection of the emoji icon, a navigable menu including a plurality ofemoji may be displayed. In one example, at least one of the plurality ofemoji includes a voting emoji for voting on the one or more activitiesassociated with the file.

When the file activity feed including the one or more activitiesassociated with the file is rendered within the file, flow proceeds todecision operation 408 where it is determined whether to suggest one ormore emoji. In one example, it may be determined whether to suggest oneor more emoji based on at least one of activity metadata, a type ofcontent within the file, and an existing emoji in a reaction stack. Forexample, it may be determined to suggest one or more emoji when one ormore emoji correspond to and/or are associated with at least one of theactivity metadata, the type of content within the file, and the existingemoji in the reaction stack. In another example, it may be determined tosuggest one or more emoji when one or more emoji would facilitateexpressing emotion and/or providing a reaction that is consistent withat least one of the activity metadata, the type of content within thefile, and the existing emoji in the reaction stack.

When it is determined to suggest one or more emoji based on at least oneof the activity metadata, a type of content within the file, and anexisting emoji in a reaction stack, flow proceeds to operation 410 wherea navigable menu including at least the suggested emoji is displayed. Inone case, displaying the navigable menu comprises suggesting one or moreemoji based on a type of activity. In another case, displaying thenavigable menu comprises suggesting one or more emoji based on a type ofcontent within the file. In yet another case, displaying the navigablemenu comprises suggesting one or more emoji based on an existing emojiin a reaction stack. In one example, displaying the navigable menuincluding at least the suggested emoji comprises presenting thesuggested emoji in a selected and or preferred (e.g., top) portion ofthe navigable menu. In one implementation, the existing emoji in thereaction stack is displayed within the one or more activities associatedwith the file.

When it is determined not to suggest one or more emoji based on at leastone of the activity metadata, a type of content within the file, and anexisting emoji in a reaction stack, flow proceeds to operation 412 wherea navigable menu including standard emoji is displayed. For example, theplurality of emoji may include a set of standard emoji. In one case, theset of standard emoji are part of a Unicode standard as known by thoseskilled in the art. In this regard, a set of standard emoji may bedisplayed within the navigable menu (e.g., without any suggested emoji).

The term rendering as used herein generally refers to the variouscapabilities employed in various computing architectures to assembleinformation that can then be used by other capabilities to generate animage or images. Within the context of methods 400 and 500, for example,rendering a file or a file activity feed, for example, generally refersto assembling the information or data used to generate an image orimages that together result in the filter preference pane. Animation orother dynamics may also be used to achieve certain effects.

However, it may be appreciated that other perspectives on rendering maybe considered within the scope of the present disclosure. For example,rendering as used herein may also, in some scenarios, be considered torefer to the various capabilities employed by various computingarchitectures to generate an image or images from information assembledfor that purpose. With respect to the methods 300 and 400, rendering afile and/or a file activity feed may refer to generating an image orimages, from information assembled for that purpose, that togetherresult in the file and/or file activity feed, which can then bedisplayed.

It may also be appreciated that rendering in some scenarios may refer toa combination of the aforementioned possibilities. For example,rendering in some scenarios may refer to both assembling the informationused to generate an image or images for a file and/or file activity feedand then generating the image or images of the file and/or file activityfeed. In addition, a wide variety of other steps, processes, and stagesmay occur within the context of presenting views of an application, allof which may be considered part of presenting a view. Thus, yet oneother variation on methods 300 and 400 includes, but is not limited to,presenting a file on a user interface, obtaining one or more activities,and presenting a file activity feed.

FIG. 5 illustrates computing system 501 that is representative of anysystem or collection of systems in which the various applications,services, scenarios, and processes disclosed herein may be implemented.Examples of computing system 501 include, but are not limited to, servercomputers, rack servers, web servers, cloud computing platforms, anddata center equipment, as well as any other type of physical or virtualserver machine, container, and any variation or combination thereof.Other examples may include smart phones, laptop computers, tabletcomputers, desktop computers, hybrid computers, gaming machines, virtualreality devices, smart televisions, smart watches and other wearabledevices, as well as any variation or combination thereof.

Computing system 501 may be implemented as a single apparatus, system,or device or may be implemented in a distributed manner as multipleapparatuses, systems, or devices. Computing system 501 includes, but isnot limited to, processing system 502, storage system 503, software 505,communication interface system 507, and user interface system 509.Processing system 502 is operatively coupled with storage system 503,communication interface system 507, and user interface system 509.

Processing system 502 loads and executes software 505 from storagesystem 503. Software 505 includes application 506, which isrepresentative of the applications discussed with respect to thepreceding FIGS. 1-4, including electronic slide applications and wordprocessing applications described herein. When executed by processingsystem 502 to enhance emoji, software 505 directs processing system 502to operate as described herein for at least the various processes,operational scenarios, and sequences discussed in the foregoingimplementations. Computing system 501 may optionally include additionaldevices, features, or functionality not discussed for purposes ofbrevity.

Referring still to FIG. 5, processing system 502 may comprise amicro-processor and other circuitry that retrieves and executes software505 from storage system 503. Processing system 502 may be implementedwithin a single processing device, but may also be distributed acrossmultiple processing devices or sub-systems that cooperate in executingprogram instructions. Examples of processing system 502 include generalpurpose central processing units, application specific processors, andlogic devices, as well as any other type of processing device,combinations, or variations thereof.

Storage system 503 may comprise any computer readable storage mediareadable by processing system 502 and capable of storing software 505.Storage system 503 may include volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information, such as computer readable instructions, data structures,program modules, or other data. Examples of storage media include randomaccess memory, read only memory, magnetic disks, optical disks, flashmemory, virtual memory and non-virtual memory, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other suitable storage media. In no case is the computer readablestorage media a propagated signal.

In addition to computer readable storage media, in some implementationsstorage system 503 may also include computer readable communicationmedia over which at least some of software 505 may be communicatedinternally or externally. Storage system 503 may be implemented as asingle storage device, but may also be implemented across multiplestorage devices or sub-systems co-located or distributed relative toeach other. Storage system 503 may comprise additional elements, such asa controller, capable of communicating with processing system 502 orpossibly other systems.

Software 505 may be implemented in program instructions and among otherfunctions may, when executed by processing system 502, direct processingsystem 502 to operate as described with respect to the variousoperational scenarios, sequences, and processes illustrated herein. Forexample, software 505 may include program instructions for implementingenhanced emoji.

In particular, the program instructions may include various componentsor modules that cooperate or otherwise interact to carry out the variousprocesses and operational scenarios described herein. The variouscomponents or modules may be embodied in compiled or interpretedinstructions, or in some other variation or combination of instructions.The various components or modules may be executed in a synchronous orasynchronous manner, serially or in parallel, in a single threadedenvironment or multi-threaded, or in accordance with any other suitableexecution paradigm, variation, or combination thereof. Software 505 mayinclude additional processes, programs, or components, such as operatingsystem software, virtual machine software, or other applicationsoftware, in addition to or that include application 506. Software 505may also comprise firmware or some other form of machine-readableprocessing instructions executable by processing system 502.

In general, software 505 may, when loaded into processing system 502 andexecuted, transform a suitable apparatus, system, or device (of whichcomputing system 501 is representative) overall from a general-purposecomputing system into a special-purpose computing system customized tofacilitate enhanced emoji. Indeed, encoding software 505 on storagesystem 503 may transform the physical structure of storage system 503.The specific transformation of the physical structure may depend onvarious factors in different implementations of this description.Examples of such factors may include, but are not limited to, thetechnology used to implement the storage media of storage system 503 andwhether the computer-storage media are characterized as primary orsecondary storage, as well as other factors.

For example, if the computer readable storage media are implemented assemiconductor-based memory, software 505 may transform the physicalstate of the semiconductor memory when the program instructions areencoded therein, such as by transforming the state of transistors,capacitors, or other discrete circuit elements constituting thesemiconductor memory. A similar transformation may occur with respect tomagnetic or optical media. Other transformations of physical media arepossible without departing from the scope of the present description,with the foregoing examples provided only to facilitate the presentdiscussion.

Communication interface system 507 may include communication connectionsand devices that allow for communication with other computing systems(not shown) over communication networks (not shown). Examples ofconnections and devices that together allow for inter-systemcommunication may include network interface cards, antennas, poweramplifiers, RF circuitry, transceivers, and other communicationcircuitry. The connections and devices may communicate overcommunication media to exchange communications with other computingsystems or networks of systems, such as metal, glass, air, or any othersuitable communication media. The aforementioned media, connections, anddevices are well known and need not be discussed at length here.

User interface system 509 is optional and may include a keyboard, amouse, a voice input device, a touch input device for receiving a touchgesture from a user, a motion input device for detecting non-touchgestures and other motions by a user, and other comparable input devicesand associated processing elements capable of receiving user input froma user. Output devices such as a display, speakers, haptic devices, andother types of output devices may also be included in user interfacesystem 509. In some cases, the input and output devices may be combinedin a single device, such as a display capable of displaying images andreceiving touch gestures. The aforementioned user input and outputdevices are well known in the art and need not be discussed at lengthhere.

User interface system 509 may also include associated user interfacesoftware executable by processing system 502 in support of the varioususer input and output devices discussed above. Separately or inconjunction with each other and other hardware and software elements,the user interface software and user interface devices may support agraphical user interface, a natural user interface, or any other type ofuser interface.

Communication between computing system 501 and other computing systems(not shown), may occur over a communication network or networks and inaccordance with various communication protocols, combinations ofprotocols, or variations thereof. Examples include intranets, internets,the Internet, local area networks, wide area networks, wirelessnetworks, wired networks, virtual networks, software defined networks,data center buses, computing backplanes, or any other type of network,combination of network, or variation thereof. The aforementionedcommunication networks and protocols are well known and need not bediscussed at length here. However, some communication protocols that maybe used include, but are not limited to, the Internet protocol (IP,IPv4, IPv6, etc.), the transfer control protocol (TCP), and the userdatagram protocol (UDP), as well as any other suitable communicationprotocol, variation, or combination thereof.

In any of the aforementioned examples in which data, content, or anyother type of information is exchanged, the exchange of information mayoccur in accordance with any of a variety of protocols, including FTP(file transfer protocol), HTTP (hypertext transfer protocol), REST(representational state transfer), WebSocket, DOM (Document ObjectModel), HTML (hypertext markup language), CSS (cascading style sheets),HTML5, XML (extensible markup language), JavaScript, JSON (JavaScriptObject Notation), and AJAX (Asynchronous JavaScript and XML), as well asany other suitable protocol, variation, or combination thereof.

Among other examples, the present disclosure presents systemscomprising: one or more computer readable storage media; and programinstructions stored on the one or more computer readable storage mediathat, when executed by at least one processor, cause the at least oneprocessor to at least: initiate rendering of a file created with anapplication on a user interface; obtain one or more activitiesassociated with the file, wherein the one or more activities includecorresponding activity metadata; and render, within the file, a fileactivity feed including the one or more activities associated with thefile, wherein the one or more activities include at least an emoji icondisplayed within at least one of the one or more activities. In furtherexamples, the application includes at least one of a word processingapplication, a spreadsheet application, and an electronic slidepresentation application. In further examples, the file activity feed isrendered next to a canvas of the file. In further examples, the one ormore activities are associated with a client computing device, andwherein the one or more activities associated with the client computingdevice include at least one of messaging, communication activities,comments, email activities, a presentation of the file, a printing ofthe file, and co-authoring of the file. In further examples, the one ormore activities are associated with a server computing device, andwherein the one or more activities associated with the server computingdevice include at least one of receiving a shared file, renaming a file,editing a file, sharing a file, and restoring a file. In furtherexamples, the activity metadata includes at least one of an identifier,a timestamp, a type, a location, and a link. In further examples, theone or more activities are obtained from one or more sources. In furtherexamples, the one or more sources include an activity service. Infurther examples, in response to receiving a selection of the emojiicon, the program instructions further cause the least one processor todisplay a navigable menu including a plurality of emoji.

Further aspects disclosed herein provide an exemplary method forextending emoji reactions into file specific content, the methodcomprising: initiating rendering of a file created with an applicationon a user interface; in response to receiving a selection of an activityfeed icon: obtaining one or more activities associated with the file,wherein the one or more activities include corresponding activitymetadata; and rendering, within the file, a file activity feed includingthe one or more activities associated with the file, wherein the one ormore activities include at least an emoji icon displayed within at leastone of the one or more activities. In further examples, in response toreceiving a selection of the emoji icon, the computer-implemented methodfurther comprises displaying a navigable menu including a plurality ofemoji. In further examples, at least one of the plurality of emojiincludes a voting emoji for voting on the at least one of the one ormore activities associated with the file. In further examples,displaying the navigable menu comprises suggesting one or more emojibased on a type of activity. In further examples, displaying thenavigable menu comprises suggesting one or more emoji based on a type ofcontent within the file. In further examples, displaying the navigablemenu comprises suggesting one or more emoji based on an existing emojiin a reaction stack. In further examples, the application includes atleast one of a word processing application, a spreadsheet application,and an electronic slide application.

Additional aspects disclosed herein provide exemplary systemscomprising: at least one processor; and memory encoding computerexecutable instructions that, when executed by the at least oneprocessor, perform a method for suggesting one or more emoji within afile created with an application, the method comprising: rendering, on auser interface, the file; obtaining one or more activities associatedwith the file, wherein the one or more activities include correspondingactivity metadata; rendering, within the file, a file activity feedincluding the one or more activities associated with the file;determining whether to suggest one or more emoji based on at least oneof the activity metadata, a type of content within the file, and anexisting emoji in a reaction stack; and in response to determining tosuggest one or more emoji based on at least one of the activitymetadata, the type of content within the file, and the existing emoji ina reaction stack, displaying a navigable menu including at least thesuggested emoji. In further examples, displaying the navigable menuincluding at least the suggested emoji comprises presenting thesuggested emoji in a selected portion of the navigable menu. In furtherexamples, the one or more activities include at least an emoji icondisplayed within at least one of the one or more activities. In furtherexamples, the existing emoji in the reaction stack is displayed withinat least one of the one or more activities associated with the file.

Techniques for extending emoji reactions into file specific content aredescribed. Although aspects are described in language specific tostructural features and/or methodological acts, it is to be understoodthat the aspects defined in the appended claims are not necessarilylimited to the specific features or acts described above. Rather, thespecific features and acts are disclosed as example forms ofimplementing the claimed aspects.

A number of methods may be implemented to perform the techniquesdiscussed herein. Aspects of the methods may be implemented in hardware,firmware, or software, or a combination thereof. The methods are shownas a set of blocks that specify operations performed by one or moredevices and are not necessarily limited to the orders shown forperforming the operations by the respective blocks. Further, anoperation shown with respect to a particular method may be combinedand/or interchanged with an operation of a different method inaccordance with one or more implementations. Aspects of the methods maybe implemented via interaction between various entities discussed abovewith reference to the touchable user interface.

Aspects of the present disclosure, for example, are described above withreference to block diagrams and/or operational illustrations of methods,systems, and computer program products according to aspects of thedisclosure. The functions/acts noted in the blocks may occur out of theorder as shown in any flowchart. For example, two blocks shown insuccession may in fact be executed substantially concurrently or theblocks may sometimes be executed in the reverse order, depending uponthe functionality/acts involved.

The description and illustration of one or more aspects provided in thisapplication are not intended to limit or restrict the scope of thedisclosure as claimed in any way. The aspects, examples, and detailsprovided in this application are considered sufficient to conveypossession and enable others to make and use the best mode of claimeddisclosure. The claimed disclosure should not be construed as beinglimited to any aspect, example, or detail provided in this application.Regardless of whether shown and described in combination or separately,the various features (both structural and methodological) are intendedto be selectively included or omitted to produce an aspect with aparticular set of features. Having been provided with the descriptionand illustration of the present application, one skilled in the art mayenvision variations, modifications, and alternate aspects falling withinthe spirit of the broader aspects of the general inventive conceptembodied in this application that do not depart from the broader scopeof the claimed disclosure.

Additionally, while the aspects may be described in the general contextof enhanced emoji systems that execute in conjunction with anapplication program that runs on an operating system on a computingdevice, those skilled in the art will recognize that aspects may also beimplemented in combination with other program modules. In furtheraspects, the aspects disclosed herein may be implemented in hardware.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that aspects may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and comparablecomputing devices. Aspects may also be practiced in distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules may be located inboth local and remote memory storage devices.

Aspects may be implemented as a computer-implemented process (method), acomputing system, or as an article of manufacture, such as a computerprogram product or computer readable media. The computer program productmay be a computer storage medium readable by a computer system andencoding a computer program that comprises instructions for causing acomputer or computing system to perform example process(es). Thecomputer-readable storage medium can for example be implemented via oneor more of a volatile computer memory, a non-volatile memory, a harddrive, a flash drive, a floppy disk, or compact servers, an applicationexecuted on a single computing device, and comparable systems.

What is claimed is:
 1. A system comprising: one or more computerreadable storage media; and program instructions stored on the one ormore computer readable storage media that, when executed by at least oneprocessor, cause the at least one processor to at least: initiaterendering of a file created with an application on a user interface;obtain one or more activities associated with the file, wherein the oneor more activities include corresponding activity metadata; and render,within the file, a file activity feed including the one or moreactivities associated with the file, wherein the one or more activitiesinclude at least an emoji icon displayed within at least one of the oneor more activities.
 2. The system of claim 1, wherein the applicationincludes at least one of a word processing application, a spreadsheetapplication, and an electronic slide presentation application.
 3. Thesystem of claim 1, wherein the file activity feed is rendered next to acanvas of the file.
 4. The system of claim 1, wherein the one or moreactivities are associated with a client computing device, and whereinthe one or more activities associated with the client computing deviceinclude at least one of messaging, communication activities, comments,email activities, a presentation of the file, a printing of the file,and co-authoring of the file.
 5. The system of claim 1, wherein the oneor more activities are associated with a server computing device, andwherein the one or more activities associated with the server computingdevice include at least one of receiving a shared file, renaming a file,editing a file, sharing a file, and restoring a file.
 6. The system ofclaim 1, wherein the activity metadata includes at least one of anidentifier, a timestamp, a type, a location, and a link.
 7. The systemof claim 1, wherein the one or more activities are obtained from one ormore sources.
 8. The system of claim 7, wherein the one or more sourcesinclude an activity service.
 9. The system of claim 1, wherein inresponse to receiving a selection of the emoji icon, the programinstructions further cause the least one processor to display anavigable menu including a plurality of emoji.
 10. Acomputer-implemented method for extending emoji reactions into filespecific content, the method comprising: initiating rendering of a filecreated with an application on a user interface; in response toreceiving a selection of an activity feed icon: obtaining one or moreactivities associated with the file, wherein the one or more activitiesinclude corresponding activity metadata; and rendering, within the file,a file activity feed including the one or more activities associatedwith the file, wherein the one or more activities include at least anemoji icon displayed within at least one of the one or more activities.11. The method of claim 10, wherein in response to receiving a selectionof the emoji icon, the computer-implemented method further comprisesdisplaying a navigable menu including a plurality of emoji.
 12. Themethod of claim 11, wherein at least one of the plurality of emojiincludes a voting emoji for voting on the at least one of the one ormore activities associated with the file.
 13. The method of claim 11,wherein displaying the navigable menu comprises suggesting one or moreemoji based on a type of activity.
 14. The method of claim 11, whereindisplaying the navigable menu comprises suggesting one or more emojibased on a type of content within the file.
 15. The method of claim 11,wherein displaying the navigable menu comprises suggesting one or moreemoji based on an existing emoji in a reaction stack.
 16. The method ofclaim 11, wherein the application includes at least one of a wordprocessing application, a spreadsheet application, and an electronicslide application.
 17. A system comprising: at least one processor; andmemory encoding computer executable instructions that, when executed bythe at least one processor, perform a method for suggesting one or moreemoji within a file created with an application, the method comprising:rendering, on a user interface, the file; obtaining one or moreactivities associated with the file, wherein the one or more activitiesinclude corresponding activity metadata; rendering, within the file, afile activity feed including the one or more activities associated withthe file; determining whether to suggest one or more emoji based on atleast one of the activity metadata, a type of content within the file,and an existing emoji in a reaction stack; and in response todetermining to suggest one or more emoji based on at least one of theactivity metadata, the type of content within the file, and the existingemoji in a reaction stack, displaying a navigable menu including atleast the suggested emoji.
 18. The system of claim 17, whereindisplaying the navigable menu including at least the suggested emojicomprises presenting the suggested emoji in a selected portion of thenavigable menu.
 19. The system of claim 17, wherein the one or moreactivities include at least an emoji icon displayed within at least oneof the one or more activities.
 20. The system of claim 17, wherein theexisting emoji in the reaction stack is displayed within at least one ofthe one or more activities associated with the file.